package health_system.health_system.dto;

import health_system.health_system.entity.User;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserUpdateDTO {
    
    @Size(min = 3, max = 50, message = "Username must be between 3 and 50 characters")
    private String username;
    
    @Size(min = 6, max = 100, message = "Password must be between 6 and 100 characters")
    private String password;
    
    @Size(max = 50, message = "Full name must not exceed 50 characters")
    private String fullName;
    
    private String avatarUrl;
    
    @Email(message = "Email should be valid")
    @Size(max = 100, message = "Email must not exceed 100 characters")
    private String email;
    
    @Size(max = 20, message = "Phone number must not exceed 20 characters")
    private String phoneNumber;
    
    private User.Gender gender;
    
    private LocalDate dateOfBirth;
    
    @Size(max = 500, message = "Bio must not exceed 500 characters")
    private String bio;
    
//    private User.UserRole role;
} 